#include "stdafx.h"
#include "CVar.h"


CVar::CVar(string& variable)
: m_string(&variable)
, m_float(nullptr)
, m_int(nullptr)
{

}

CVar::CVar(float& variable)
: m_string(nullptr)
, m_float(&variable)
, m_int(nullptr)
{

}

CVar::CVar(int& variable)
: m_string(nullptr)
, m_float(nullptr)
, m_int(&variable)
{

}

const char* CVar::GetString() const
{
	assert(m_string);
	return (*m_string).c_str();
}

float CVar::GetFloat() const
{
	assert(m_float);
	return *m_float;
}

int CVar::GetInt() const
{
	assert(m_int);
	return *m_int;
}

void CVar::Set(const char* val)
{
	assert(m_string);
	*m_string = val;
}

void CVar::Set(float val)
{
	assert(m_float);
	*m_float = val;
}

void CVar::Set(int val)
{
	assert(m_int);
	*m_int = val;
}